home *** CD-ROM | disk | FTP | other *** search
/ Basic Instinct 2 Press Kit / Basic Instinct 2 Press Kit.iso / pc / main.dxr / FlashPaper_2_spannotes.swf / scripts / __Packages / FlashPaper / MainView.as < prev    next >
Encoding:
Text File  |  2006-03-15  |  44.0 KB  |  1,429 lines

  1. class FlashPaper.MainView
  2. {
  3.    var m_mainMC;
  4.    var m_viewMode;
  5.    var m_isHandheld;
  6.    var m_treeWidth;
  7.    var m_docDpiToScreenDpiFactor;
  8.    var m_mainView;
  9.    var m_toolbarView;
  10.    var m_treeView;
  11.    var m_dividerView;
  12.    var m_documentView;
  13.    var controller;
  14.    var focus_mc;
  15.    var textSnapshot_ts;
  16.    static var ZOOM_MIN = 10;
  17.    static var ZOOM_MAX = 999;
  18.    static var TREE_WIDTH = 200;
  19.    static var KEY_ZOOM_DISTANCE = 5;
  20.    var m_currentPage = 0;
  21.    var m_numPages = 0;
  22.    var m_numPagesLoaded = 0;
  23.    var m_forceWidth = 0;
  24.    var m_forceHeight = 0;
  25.    var m_currentScale = 100;
  26.    var m_pageFitScale = 100;
  27.    var m_pageWidthScale = 100;
  28.    var m_currentCursorMC = null;
  29.    var m_numMouseHides = 0;
  30.    var m_screenDPI = 0;
  31.    var m_cursorFocus = null;
  32.    var m_ctrlKeyMonitorIntervalID = 0;
  33.    var m_copied = false;
  34.    var m_nextTabIndex = 1;
  35.    var m_lastPageChanged = -1;
  36.    var m_scrollingEnabled = true;
  37.    var m_zoomingEnabled = true;
  38.    var m_accSilentList = null;
  39.    function MainView(p_main_mc)
  40.    {
  41.       AsBroadcaster.initialize(this);
  42.       this.m_mainMC = p_main_mc;
  43.       this.m_accSilentList = new Array();
  44.       this.m_viewMode = this.getConfigString("INITIAL_VIEW");
  45.       this.m_currentScale = parseFloat(this.m_viewMode);
  46.       if(!isNaN(this.m_currentScale) && this.m_currentScale >= FlashPaper.MainView.ZOOM_MIN && this.m_currentScale <= FlashPaper.MainView.ZOOM_MAX)
  47.       {
  48.          this.m_viewMode = "zoom";
  49.       }
  50.       else
  51.       {
  52.          this.m_currentScale = 100;
  53.       }
  54.       this.m_isHandheld = this.getConfigString("HANDHELD") == "true";
  55.       this.m_treeWidth = FlashPaper.MainView.TREE_WIDTH;
  56.       this.m_screenDPI = parseFloat(this.getConfigString("SCREEN_DPI"));
  57.       this.m_docDpiToScreenDpiFactor = this.m_screenDPI / this.m_mainMC.dpi;
  58.       this.m_mainMC.m_mainView = this;
  59.       this.m_mainMC.onEnterFrame = function()
  60.       {
  61.          var _loc2_ = this;
  62.          var _loc1_ = _loc2_.m_mainView;
  63.          _loc1_.loadPages();
  64.          if(_loc2_._currentframe == _loc2_._totalframes)
  65.          {
  66.             _loc2_.stop();
  67.             delete _loc2_.onEnterFrame;
  68.             _loc1_.broadcastMessage("internal_onDocumentLoaded");
  69.             _loc1_.onResize();
  70.          }
  71.       };
  72.       this.m_mainMC.onMouseDown = function()
  73.       {
  74.          this.m_mainView.updateCursor();
  75.          if(FPUI.Component.focusedComponent != null && FlashPaper.Utils.doMouseHitTest(FPUI.Component.focusedComponent) == false)
  76.          {
  77.             Selection.setFocus(null);
  78.          }
  79.       };
  80.       this.m_mainMC.onMouseMove = this.m_mainMC.onMouseUp = function()
  81.       {
  82.          this.m_mainView.updateCursor();
  83.       };
  84.       this.m_mainMC.onUnload = function()
  85.       {
  86.          this.m_mainView.cleanupCursor();
  87.       };
  88.       for(var i in this.m_mainMC.cursors_mc)
  89.       {
  90.          this.m_mainMC.cursors_mc[i]._visible = false;
  91.       }
  92.       if(this.m_mainMC == _level0)
  93.       {
  94.          Stage.showMenu = false;
  95.          Stage.align = "TL";
  96.          Stage.scaleMode = "noScale";
  97.          this.m_mainMC._xscale = 100;
  98.          this.m_mainMC._yscale = 100;
  99.       }
  100.       else
  101.       {
  102.          this.setForcedWidthAndHeight(550,400);
  103.       }
  104.       this.m_mainMC.controller = this;
  105.       this.m_mainMC._quality = "BEST";
  106.       this.m_toolbarView = new FlashPaper.ToolbarView(this,this.m_mainMC,this.getConfigString("POPUP_ENABLED") == "true");
  107.       p_main_mc.toolbar_mc._xscale = 100;
  108.       p_main_mc.toolbar_mc._yscale = 100;
  109.       this.m_treeView = new FlashPaper.TreeView(this,this.m_mainMC.tree_mc);
  110.       this.m_mainMC.tree_mc._xscale = 100;
  111.       this.m_mainMC.tree_mc._yscale = 100;
  112.       this.m_dividerView = this.m_mainMC.divider_mc;
  113.       this.m_dividerView._xscale = 100;
  114.       this.m_dividerView._yscale = 100;
  115.       this.m_dividerView.setMainView(this);
  116.       this.m_documentView = this.m_mainMC.document_mc;
  117.       this.m_documentView._xscale = 100;
  118.       this.m_documentView._yscale = 100;
  119.       this.m_documentView.setMainView(this,this.getConfigString("SEARCH_TO_TOP") == "true");
  120.       if(this.m_mainMC.fpBookmarks_array === undefined || this.m_mainMC.fpBookmarks_array.length == 0 || this.getConfigString("HIDE_SIDEBAR") == "true")
  121.       {
  122.          this.m_mainMC.divider_mc._visible = false;
  123.          this.m_mainMC.tree_mc._visible = false;
  124.          this.m_treeWidth = 0;
  125.          delete this.m_mainMC.fpBookmarks_array;
  126.       }
  127.       var messages = this.m_mainMC.message_mc;
  128.       messages.setController(this);
  129.       messages.setCursorManager(this);
  130.       messages.setListVisible(false);
  131.       var i = 1;
  132.       while(i <= this.getNumberOfPages())
  133.       {
  134.          var width_i = eval("pageWidth" + i);
  135.          if(width_i == undefined)
  136.          {
  137.             width_i = this.getDocumentWidth();
  138.          }
  139.          var height_i = eval("pageHeight" + i);
  140.          if(height_i == undefined)
  141.          {
  142.             height_i = this.getDocumentHeight();
  143.          }
  144.          this.m_numPages = this.m_numPages + 1;
  145.          this.broadcastMessage("internal_onAddPage",width_i,height_i);
  146.          i++;
  147.       }
  148.       Stage.addListener(this);
  149.       Key.addListener(this);
  150.       this.onResize();
  151.       this.setCurrentPage(parseInt(this.getConfigString("INITIAL_PAGE")));
  152.       var b = this.getConfigString("INITIAL_BOOKMARK");
  153.       if(b != "")
  154.       {
  155.          var bm = this.findBookmark(b,this.m_mainMC.fpBookmarks_array);
  156.          if(bm != null)
  157.          {
  158.             this.goToAnchor(this.m_mainMC.fpAnchors_o[bm.anchorName_str]);
  159.          }
  160.       }
  161.       var b = this.getConfigString("INITIAL_ANCHOR");
  162.       if(b != "")
  163.       {
  164.          var anchor = this.m_mainMC.fpAnchors_o[b];
  165.          if(anchor)
  166.          {
  167.             this.goToAnchor(anchor);
  168.          }
  169.       }
  170.       this.onResize2();
  171.       this.initializeTabbing();
  172.       this.initializeAccessibility();
  173.    }
  174.    static function disableLMR(mc)
  175.    {
  176.       var _loc1_ = mc;
  177.       _loc1_.tabEnabled = false;
  178.       _loc1_.middle.tabEnabled = false;
  179.       _loc1_.left.tabEnabled = false;
  180.       _loc1_.right.tabEnabled = false;
  181.    }
  182.    function initializeTabbing()
  183.    {
  184.       var _loc2_ = this.m_mainMC.toolbar_mc.controls_mc;
  185.       var _loc1_ = undefined;
  186.       _loc1_ = this.m_mainMC;
  187.       _loc1_.toolbar_mc.tabEnabled = false;
  188.       _loc1_.cursors_mc.tabEnabled = false;
  189.       _loc1_.tree_mc.tabEnabled = false;
  190.       _loc1_.divider_mc.tabEnabled = false;
  191.       _loc1_.divider_mc.gripper_mc.tabEnabled = false;
  192.       _loc1_ = this.m_mainMC.document_mc;
  193.       _loc1_.tabEnabled = true;
  194.       _loc1_.focusEnabled = true;
  195.       _loc1_.bg_mc.tabEnabled = false;
  196.       _loc1_.pages_mc.tabEnabled = false;
  197.       _loc1_.corner_mc.tabEnabled = false;
  198.       _loc1_ = this.m_mainMC.toolbar_mc.toolbarBg_mc;
  199.       _loc1_.tabEnabled = false;
  200.       _loc1_.middle_mc.tabEnabled = false;
  201.       _loc1_.middle_mc.fill_mc.tabEnabled = false;
  202.       _loc1_.middle_mc.dropShadow_mc.tabEnabled = false;
  203.       _loc1_.right_mc.tabEnabled = false;
  204.       _loc1_.left_mc.tabEnabled = false;
  205.       _loc1_ = this.m_mainMC.toolbar_mc.brandClip_mc;
  206.       _loc1_.tabEnabled = false;
  207.       _loc1_.gotoLink_btn.tabEnabled = false;
  208.       _loc1_._icon.tabEnabled = false;
  209.       _loc1_ = _loc2_;
  210.       _loc1_.tabEnabled = false;
  211.       _loc1_.dividePager_mc.tabEnabled = false;
  212.       _loc1_.divideZoom_mc.tabEnabled = false;
  213.       _loc1_.dividePrint_mc.tabEnabled = false;
  214.       _loc1_.divideTools_mc.tabEnabled = false;
  215.       _loc1_ = _loc2_.find_mc;
  216.       _loc1_.tabEnabled = false;
  217.       FlashPaper.MainView.disableLMR(_loc1_.findBg_mc);
  218.       _loc1_ = _loc2_.currZoom_mc;
  219.       _loc1_.tabEnabled = false;
  220.       FlashPaper.MainView.disableLMR(_loc1_.currZoomBg_mc);
  221.       _loc1_ = _loc2_.currPg_mc;
  222.       _loc1_.tabEnabled = false;
  223.       FlashPaper.MainView.disableLMR(_loc1_.currPgBg_mc);
  224.       _loc2_.numPgs_txt.tabEnabled = false;
  225.       _loc2_.prevNext_mc.tabEnabled = false;
  226.       var _loc3_ = this.m_nextTabIndex;
  227.       this.m_mainMC.toolbar_mc.tabIndex = _loc3_++;
  228.       _loc2_.panTool_mc.tabIndex = _loc3_++;
  229.       _loc2_.selectTool_mc.tabIndex = _loc3_++;
  230.       _loc2_.find_mc.find_txt.tabIndex = _loc3_++;
  231.       _loc2_.find_mc.findButton_mc.tabIndex = _loc3_++;
  232.       _loc2_.divideZoom_mc.tabIndex = _loc3_++;
  233.       _loc2_.zoom_sld.tabIndex = _loc3_++;
  234.       _loc2_.currZoom_mc.currZoom_txt.tabIndex = _loc3_++;
  235.       _loc2_.fitPage_mc.tabIndex = _loc3_++;
  236.       _loc2_.fitWidth_mc.tabIndex = _loc3_++;
  237.       _loc2_.currPg_mc.currPg_txt.tabIndex = _loc3_++;
  238.       _loc2_.prevNext_mc.prevPg_mc.tabIndex = _loc3_++;
  239.       _loc2_.prevNext_mc.nextPg_mc.tabIndex = _loc3_++;
  240.       _loc2_.print_mc.tabIndex = _loc3_++;
  241.       _loc2_.popup_mc.tabIndex = _loc3_++;
  242.       _loc2_.hiddenToolsBtn_mc.tabIndex = _loc3_++;
  243.       _loc1_ = this.m_mainMC.toolbar_mc;
  244.       _loc1_.createEmptyMovieClip("accessible_mc",-16384);
  245.       _loc1_.accessible_mc.visible = true;
  246.       _loc1_.accessible_mc.tabIndex = _loc3_++;
  247.       _loc1_.accessible_mc.tabEnabled = false;
  248.       _loc1_.accessible_mc.createEmptyMovieClip("prevPg_mc",1);
  249.       _loc1_.accessible_mc.createEmptyMovieClip("nextPg_mc",2);
  250.       _loc1_.accessible_mc.prevPg_mc.tabIndex = _loc3_++;
  251.       _loc1_.accessible_mc.nextPg_mc.tabIndex = _loc3_++;
  252.       this.m_mainMC.document_mc.tabIndex = _loc3_++;
  253.       this.m_nextTabIndex = _loc3_;
  254.    }
  255.    function getLanguageObject()
  256.    {
  257.       var _loc1_ = this.m_mainMC.fpLocalizations_o[System.capabilities.language];
  258.       if(_loc1_ == null)
  259.       {
  260.          _loc1_ = this.m_mainMC.fpLocalizations_o.en;
  261.       }
  262.       return _loc1_;
  263.    }
  264.    function initializeAccessibility()
  265.    {
  266.       var _loc1_ = this;
  267.       var _loc3_ = _loc1_.getLanguageObject();
  268.       _loc1_.m_mainMC._accProps = new Object();
  269.       _loc1_.m_mainMC._accProps.name = _loc3_.DOCUMENT;
  270.       _loc1_.makeSilent(_loc1_.m_mainMC.tree_mc,true);
  271.       _loc1_.makeSilent(_loc1_.m_mainMC.divider_mc,true);
  272.       var toolbar_mc = _loc1_.m_mainMC.toolbar_mc;
  273.       _loc1_.addAccProp(toolbar_mc,_loc3_.TOOLBAR,"");
  274.       _loc1_.makeSilent(toolbar_mc.toolbarBg_mc,true);
  275.       _loc1_.makeSilent(toolbar_mc.brandClip_mc,true);
  276.       _loc1_.makeSilent(toolbar_mc.brandClip_mc._icon,true);
  277.       _loc1_.makeSilent(toolbar_mc.popup_mc,true);
  278.       var _loc2_ = toolbar_mc.controls_mc;
  279.       _loc1_.makeSilent(_loc2_.panTool_mc,true);
  280.       _loc1_.makeSilent(_loc2_.selectTool_mc,true);
  281.       _loc1_.makeSilent(_loc2_.divideTools_mc,true);
  282.       _loc1_.makeSilent(_loc2_.find_mc.findBg_mc,true);
  283.       _loc1_.addAccProp(_loc2_.find_mc.find_txt,_loc3_.FIND,"Search for text by typing in search keywords and hitting the enter key.");
  284.       _loc1_.addAccProp(_loc2_.find_mc.findButton_mc,_loc3_.FIND,"");
  285.       _loc1_.makeSilent(_loc2_.divideZoom_mc,true);
  286.       _loc1_.makeSilent(_loc2_.zoom_sld,true);
  287.       _loc1_.makeSilent(_loc2_.currZoom_mc.currZoomBg_mc,true);
  288.       _loc1_.addAccProp(_loc2_.currZoom_mc.currZoom_txt,_loc3_.ZOOM,"Enter the numeric zoom percentage level and hit enter.");
  289.       _loc1_.addAccProp(_loc2_.fitPage_mc,_loc3_.FIT_PAGE,"This button will refit the document so that only the current page will be visible in the current view.");
  290.       _loc1_.addAccProp(_loc2_.fitWidth_mc,_loc3_.FIT_WIDTH,"This button will refit the document by maximizing the width of the current page in the current view.");
  291.       _loc1_.makeSilent(_loc2_.dividePager_mc,true);
  292.       _loc1_.makeSilent(_loc2_.currPg_mc.currPgBg_mc,true);
  293.       _loc1_.addAccProp(_loc2_.currPg_mc.currPg_txt,_loc3_.CURR_PAGE,"");
  294.       _loc1_.makeSilent(_loc2_.numPgs_txt,true);
  295.       _loc1_.addAccProp(_loc2_.prevNext_mc.prevPg_mc,_loc3_.PREV_PAGE,"");
  296.       _loc1_.addAccProp(_loc2_.prevNext_mc.nextPg_mc,_loc3_.NEXT_PAGE,"");
  297.       _loc1_.makeSilent(_loc2_.dividePrint_mc,true);
  298.       _loc1_.addAccProp(_loc2_.print_mc,_loc3_.PRINT,"");
  299.       _loc1_.addAccProp(_loc2_.hiddenToolsBtn_mc,_loc3_.OVERFLOW,"This button will reveal the tools that are hidden due to the resized view.");
  300.       _loc1_.makeSilent(_loc1_.m_mainMC.hiddenToolsList_mc,true);
  301.       _loc1_.makeSilent(_loc1_.m_mainMC.hiddneToolsList_mc.list_mc,true);
  302.       _loc1_.makeSilent(_loc2_.popup_mc,true);
  303.       toolbar_mc.accessible_mc.prevPg_mc.controller = _loc1_;
  304.       toolbar_mc.accessible_mc.prevPg_mc.onRelease = function()
  305.       {
  306.          this.controller.prevPageButton();
  307.       };
  308.       toolbar_mc.accessible_mc.nextPg_mc.controller = _loc1_;
  309.       toolbar_mc.accessible_mc.nextPg_mc.onRelease = function()
  310.       {
  311.          this.controller.nextPageButton();
  312.       };
  313.       _loc1_.makeMCHiddenAccButton(toolbar_mc.accessible_mc.prevPg_mc,"AccPrevPage");
  314.       _loc1_.makeMCHiddenAccButton(toolbar_mc.accessible_mc.nextPg_mc,"AccNextPage");
  315.       _loc1_.setMCHiddenAccButtonAvailable(toolbar_mc.accessible_mc.prevPg_mc,false);
  316.       var document_mc = _loc1_.m_mainMC.document_mc;
  317.       _loc1_.addAccProp(document_mc,_loc3_.CONTENT,"");
  318.       _loc1_.makeSilent(document_mc.bg_mc,true);
  319.       _loc1_.makeSilent(document_mc.x_sb,true);
  320.       _loc1_.makeSilent(document_mc.y_sb,true);
  321.       _loc1_.makeSilent(document_mc.corner_mc,true);
  322.       Accessibility.updateProperties();
  323.       if(Accessibility.isActive())
  324.       {
  325.          _loc1_.zoomToPageFit();
  326.       }
  327.    }
  328.    function hyperlinksTabEnabled(pageIdx, enable)
  329.    {
  330.       var accInfo = eval("fpAltTextMap" + pageIdx);
  331.       if(accInfo != null)
  332.       {
  333.          var page_mc = this.m_documentView.getNthPage(pageIdx);
  334.          for(var instanceName in accInfo)
  335.          {
  336.             if(instanceName.indexOf("link") > -1)
  337.             {
  338.                var mc = page_mc.rawPage_mc[instanceName];
  339.                if(mc != null)
  340.                {
  341.                   mc.tabEnabled = enable;
  342.                }
  343.             }
  344.          }
  345.       }
  346.    }
  347.    function activateHyperlinks(pageIdx)
  348.    {
  349.       var _loc1_ = this;
  350.       if(pageIdx != _loc1_.m_currentPage)
  351.       {
  352.          _loc1_.hyperlinksTabEnabled(_loc1_.m_currentPage,false);
  353.          _loc1_.hyperlinksTabEnabled(pageIdx,true);
  354.       }
  355.    }
  356.    function makeAllPagesAccessible()
  357.    {
  358.       var listSize = this.m_accSilentList.length;
  359.       var _loc3_ = 0;
  360.       while(_loc3_ < listSize)
  361.       {
  362.          var _loc2_ = this.m_accSilentList.shift();
  363.          var _loc1_ = this.m_documentView.getNthPage(_loc2_).rawPage_mc;
  364.          _loc1_.tabEnabled = false;
  365.          this.setRawPageTabIndex(_loc1_,_loc2_);
  366.          _loc1_._accProps.forceSimple = false;
  367.          _loc3_ = _loc3_ + 1;
  368.       }
  369.       return listSize > 0;
  370.    }
  371.    function makePageNotAccessible(pageIdx)
  372.    {
  373.       var _loc2_ = pageIdx;
  374.       var _loc3_ = this;
  375.       _loc3_.m_accSilentList.push(_loc2_);
  376.       var _loc1_ = _loc3_.m_documentView.getNthPage(_loc2_).rawPage_mc;
  377.       _loc1_.tabEnabled = false;
  378.       _loc3_.setRawPageTabIndex(_loc1_,_loc2_);
  379.       _loc1_._accProps.forceSimple = true;
  380.    }
  381.    function accSilentPageBehindToolbar(pageIdx)
  382.    {
  383.       var rawPage_mc;
  384.       var _loc3_ = pageIdx > 1 ? false : true;
  385.       var _loc1_ = pageIdx - 1;
  386.       var toolbarBounds = this.m_mainMC.toolbar_mc.getBounds(_root);
  387.       var updateAccessibility = this.makeAllPagesAccessible();
  388.       while(!_loc3_ && _loc1_ > 0)
  389.       {
  390.          rawPage_mc = this.m_documentView.getNthPage(_loc1_).rawPage_mc;
  391.          var _loc2_ = rawPage_mc.getBounds(_root);
  392.          if(_loc2_.yMax < toolbarBounds.yMin)
  393.          {
  394.             _loc3_ = true;
  395.          }
  396.          else if(_loc2_.yMax <= toolbarBounds.yMax)
  397.          {
  398.             this.makePageNotAccessible(_loc1_);
  399.             updateAccessibility = true;
  400.          }
  401.          _loc1_ = _loc1_ - 1;
  402.       }
  403.       if(updateAccessibility)
  404.       {
  405.          Accessibility.updateProperties();
  406.       }
  407.    }
  408.    function findBookmark(n, a)
  409.    {
  410.       var _loc2_ = a;
  411.       var _loc3_ = n;
  412.       for(var i in _loc2_)
  413.       {
  414.          var _loc1_ = _loc2_[i];
  415.          if(_loc1_.publicName_str == _loc3_)
  416.          {
  417.             return _loc1_;
  418.          }
  419.          _loc1_ = this.findBookmark(_loc3_,_loc1_.subBookmarks_array);
  420.          if(_loc1_ != null)
  421.          {
  422.             return _loc1_;
  423.          }
  424.       }
  425.       return null;
  426.    }
  427.    function updateCurrentPage(pageNum_i)
  428.    {
  429.       this.m_currentPage = pageNum_i;
  430.    }
  431.    function getNumPages()
  432.    {
  433.       return this.m_numPages;
  434.    }
  435.    function goToAnchor(anchor_o)
  436.    {
  437.       var _loc1_ = anchor_o;
  438.       if(_loc1_)
  439.       {
  440.          this.m_currentPage = _loc1_.pageNum_i;
  441.          this.m_documentView.goToAnchor(_loc1_);
  442.       }
  443.    }
  444.    function goToNamedAnchor(anchorname)
  445.    {
  446.       var _loc1_ = this;
  447.       if(_loc1_.m_mainMC.fpAnchors_o !== undefined)
  448.       {
  449.          _loc1_.goToAnchor(_loc1_.m_mainMC.fpAnchors_o[anchorname]);
  450.       }
  451.    }
  452.    function getConfigString(s)
  453.    {
  454.       return this.m_mainMC[s];
  455.    }
  456.    function makeSilent(pmc, silent)
  457.    {
  458.       var _loc1_ = pmc;
  459.       if(_loc1_._accProps == null)
  460.       {
  461.          _loc1_._accProps = new Object();
  462.       }
  463.       _loc1_._accProps.silent = silent;
  464.    }
  465.    function addAccProp(pmc, name, desc)
  466.    {
  467.       var _loc1_ = pmc;
  468.       if(_loc1_._accProps == null)
  469.       {
  470.          _loc1_._accProps = new Object();
  471.       }
  472.       if(name.length > 0)
  473.       {
  474.          _loc1_._accProps.name = name;
  475.       }
  476.       if(desc.length > 0)
  477.       {
  478.          _loc1_._accProps.description = desc;
  479.       }
  480.    }
  481.    function makeMCAccessibleImage(pmc, desc)
  482.    {
  483.       var _loc1_ = pmc;
  484.       this.makeSilent(_loc1_,false);
  485.       _loc1_.tabEnabled = false;
  486.       _loc1_._accProps.name = "Image";
  487.       _loc1_._accProps.description = desc;
  488.    }
  489.    function makeMCAccessibleHyperlink(pmc, link)
  490.    {
  491.       var _loc1_ = pmc;
  492.       var _loc3_ = this;
  493.       _loc3_.makeSilent(_loc1_,false);
  494.       _loc1_.tabEnabled = false;
  495.       _loc1_._focusrect = false;
  496.       _loc1_._accProps.name = link;
  497.       _loc1_._accImpl = new FPUI.AccObject(FPUI.AccObject.ROLE_SYSTEM_LINK);
  498.       _loc1_.tabChildren = false;
  499.       _loc1_.m_mainView = _loc3_;
  500.       var mc = _loc1_.createEmptyMovieClip("focus_mc",1);
  501.       var _loc2_ = _loc1_.getBounds();
  502.       mc.lineStyle(1,FPUI.Component.kHiliteColor,40);
  503.       mc.moveTo(_loc2_.xMin,_loc2_.yMin);
  504.       mc.lineTo(_loc2_.xMax,_loc2_.yMin);
  505.       mc.lineTo(_loc2_.xMax,_loc2_.yMax);
  506.       mc.lineTo(_loc2_.xMin,_loc2_.yMax);
  507.       mc.lineTo(_loc2_.xMin,_loc2_.yMin);
  508.       mc._visible = false;
  509.       _loc1_.onRelease = function()
  510.       {
  511.          if(this.m_mainView.getCurrentTool() == "pan")
  512.          {
  513.             this.m_mainView.goToLinkTarget(link);
  514.          }
  515.       };
  516.       _loc1_.onRollOver = function()
  517.       {
  518.          var _loc2_ = this;
  519.          var _loc1_ = _loc2_.m_mainView.getCurrentTool();
  520.          if(_loc1_ != "pan")
  521.          {
  522.             _loc2_.m_mainView.setCursor(_loc2_.m_mainView.getCursorFocus(),_loc1_);
  523.          }
  524.       };
  525.       _loc1_.onComponentSetFocus = function()
  526.       {
  527.          this.focus_mc._visible = true;
  528.       };
  529.       _loc1_.onComponentKillFocus = function()
  530.       {
  531.          this.focus_mc._visible = false;
  532.       };
  533.       _loc1_.onKeyDown = function()
  534.       {
  535.          if(Key.getCode() == 13)
  536.          {
  537.             this.m_mainView.goToLinkTarget(link);
  538.          }
  539.       };
  540.    }
  541.    function makeMCHiddenAccButton(pmc, name, actionMC)
  542.    {
  543.       var _loc1_ = pmc;
  544.       this.makeSilent(_loc1_,false);
  545.       this.addAccProp(_loc1_,name,"");
  546.       _loc1_.tabEnabled = false;
  547.       _loc1_._accImpl = new FPUI.AccObject(FPUI.AccObject.ROLE_SYSTEM_PUSHBUTTON);
  548.       _loc1_._accImpl.set_accState(FPUI.AccObject.STATE_SYSTEM_INVISIBLE,true);
  549.       _loc1_._accImpl.set_accDefaultAction("Press",_loc1_,"onRelease");
  550.       _loc1_.lineStyle(1,16777215,0);
  551.       _loc1_.moveTo(0,0);
  552.       _loc1_.lineTo(10,0);
  553.       _loc1_.lineTo(10,10);
  554.       _loc1_.lineTo(0,10);
  555.       _loc1_.lineTo(0,0);
  556.       _loc1_._visible = true;
  557.    }
  558.    function setMCHiddenAccButtonAvailable(pmc, available)
  559.    {
  560.       pmc._accImpl.set_accState(FPUI.AccObject.STATE_SYSTEM_UNAVAILABLE,!available);
  561.    }
  562.    function setRawPageTabIndex(rawPage_mc, index)
  563.    {
  564.       rawPage_mc.tabIndex = this.m_nextTabIndex + index % 10;
  565.    }
  566.    function loadPages()
  567.    {
  568.       var i = this.m_numPagesLoaded + 1;
  569.       while(i <= this.m_numPages)
  570.       {
  571.          var page_mc = this.m_documentView.getNthPage(i);
  572.          if(page_mc.rawPage_mc == undefined)
  573.          {
  574.             var rawPage_mc = page_mc.attachMovie("page" + i,"rawPage_mc",10);
  575.             if(rawPage_mc != undefined)
  576.             {
  577.                rawPage_mc.tabEnabled = false;
  578.                rawPage_mc._accProps = new Object();
  579.                rawPage_mc._accProps.name = "";
  580.                this.setRawPageTabIndex(rawPage_mc,i);
  581.                Accessibility.updateProperties();
  582.                var fpcontent_mc = rawPage_mc;
  583.                if(rawPage_mc.fpcontent_mc != undefined)
  584.                {
  585.                   fpcontent_mc = rawPage_mc.fpcontent_mc;
  586.                }
  587.                page_mc.fpcontent_mc = fpcontent_mc;
  588.                page_mc.msg_mc.removeMovieClip();
  589.                var factor = this.getDocDpiToScreenDpiFactor() * 20;
  590.                rawPage_mc._width *= factor;
  591.                rawPage_mc._height *= factor;
  592.                fpcontent_mc.fpdoc_mc = this.m_mainMC;
  593.                if(fpcontent_mc != null && fpcontent_mc.getTextSnapshot != null)
  594.                {
  595.                   fpcontent_mc.textSnapshot_ts = null;
  596.                   fpcontent_mc.getTS = function(allocateIfNeeded_b)
  597.                   {
  598.                      var _loc1_ = this;
  599.                      if(_loc1_.textSnapshot_ts == null && allocateIfNeeded_b)
  600.                      {
  601.                         _loc1_.textSnapshot_ts = _loc1_.getTextSnapshot();
  602.                      }
  603.                      return _loc1_.textSnapshot_ts;
  604.                   };
  605.                   fpcontent_mc.freeTS = function()
  606.                   {
  607.                      delete this.textSnapshot_ts;
  608.                   };
  609.                }
  610.                var accInfo = eval("fpAltTextMap" + i);
  611.                if(accInfo != null)
  612.                {
  613.                   for(var instanceName in accInfo)
  614.                   {
  615.                      var mc = rawPage_mc[instanceName];
  616.                      if(mc != null)
  617.                      {
  618.                         if(instanceName.indexOf("acc") > -1)
  619.                         {
  620.                            this.makeMCAccessibleImage(mc,accInfo[instanceName]);
  621.                         }
  622.                         else if(instanceName.indexOf("link") > -1)
  623.                         {
  624.                            this.makeMCAccessibleHyperlink(mc,accInfo[instanceName]);
  625.                         }
  626.                         var pmc = mc._parent;
  627.                         while(pmc != null)
  628.                         {
  629.                            this.makeSilent(pmc,false);
  630.                            pmc = pmc._parent;
  631.                         }
  632.                      }
  633.                   }
  634.                   Accessibility.updateProperties();
  635.                }
  636.                if(i <= 2)
  637.                {
  638.                   this.onResize();
  639.                }
  640.                if(i == this.getNumberOfPages())
  641.                {
  642.                   this.hyperlinksTabEnabled(1,true);
  643.                   Accessibility.updateProperties();
  644.                }
  645.                if(this.m_numPagesLoaded < i)
  646.                {
  647.                   this.m_numPagesLoaded = i;
  648.                }
  649.             }
  650.          }
  651.          i++;
  652.       }
  653.    }
  654.    function setCursorFocus(mc)
  655.    {
  656.       this.m_cursorFocus = mc;
  657.    }
  658.    function getCursorFocus()
  659.    {
  660.       return this.m_cursorFocus;
  661.    }
  662.    function setCursor(mc, cursorName)
  663.    {
  664.       var _loc1_ = this;
  665.       if(mc == _loc1_.m_cursorFocus)
  666.       {
  667.          var _loc2_ = _loc1_.m_mainMC.cursors_mc[cursorName];
  668.          if(_loc2_ === undefined)
  669.          {
  670.             _loc2_ = null;
  671.          }
  672.          if(_loc1_.m_currentCursorMC != _loc2_)
  673.          {
  674.             if(_loc1_.m_currentCursorMC == null)
  675.             {
  676.                _loc1_.m_currentCursorMC = _loc2_;
  677.                _loc1_.showCursor();
  678.             }
  679.             else
  680.             {
  681.                _loc1_.m_currentCursorMC._visible = false;
  682.                if(_loc2_ == null)
  683.                {
  684.                   _loc1_.hideCursor();
  685.                }
  686.                _loc1_.m_currentCursorMC = _loc2_;
  687.             }
  688.             _loc1_.updateCursor();
  689.          }
  690.       }
  691.    }
  692.    function showCursor()
  693.    {
  694.       var _loc1_ = this;
  695.       if(_loc1_.m_currentCursorMC)
  696.       {
  697.          Mouse.hide();
  698.          _loc1_.m_numMouseHides = _loc1_.m_numMouseHides + 1;
  699.          _loc1_.updateCursor();
  700.       }
  701.    }
  702.    function updateCursor()
  703.    {
  704.       var _loc1_ = this;
  705.       if(_loc1_.m_currentCursorMC)
  706.       {
  707.          _loc1_.m_currentCursorMC._visible = _loc1_.m_numMouseHides > 0;
  708.          _loc1_.m_currentCursorMC._y = _loc1_.m_currentCursorMC._parent._ymouse;
  709.          _loc1_.m_currentCursorMC._x = _loc1_.m_currentCursorMC._parent._xmouse;
  710.       }
  711.    }
  712.    function hideCursor()
  713.    {
  714.       var _loc1_ = this;
  715.       if(_loc1_.m_currentCursorMC)
  716.       {
  717.          Mouse.show();
  718.          _loc1_.m_numMouseHides = _loc1_.m_numMouseHides - 1;
  719.          _loc1_.updateCursor();
  720.       }
  721.    }
  722.    function cleanupCursor()
  723.    {
  724.       var _loc1_ = this;
  725.       while(_loc1_.m_numMouseHides > 0)
  726.       {
  727.          Mouse.show();
  728.          _loc1_.m_numMouseHides = _loc1_.m_numMouseHides - 1;
  729.       }
  730.    }
  731.    function showMessage(s, mc)
  732.    {
  733.       var _loc2_ = this;
  734.       var _loc3_ = false;
  735.       var _loc1_ = _loc2_.m_mainMC.message_mc;
  736.       _loc1_.clear();
  737.       _loc1_.addItem("",s,"");
  738.       _loc1_.setListVisible(s != "");
  739.       if(mc != null)
  740.       {
  741.          _loc1_._x = Math.round(mc.getBounds(_loc2_.m_mainMC).xMin);
  742.          _loc3_ = _loc1_._visible && _loc1_.getBounds(_loc2_.m_mainMC).xMax > _loc2_.m_mainMC.document_mc.bg_mc.getBounds(_loc2_.m_mainMC).xMax;
  743.       }
  744.       return _loc3_;
  745.    }
  746.    function zoomTo(percent)
  747.    {
  748.       var _loc1_ = this;
  749.       var _loc2_ = percent;
  750.       var _loc3_ = _loc1_.m_currentScale;
  751.       _loc1_.m_currentScale = FlashPaper.Utils.clamp(FlashPaper.MainView.ZOOM_MIN,_loc2_,FlashPaper.MainView.ZOOM_MAX);
  752.       _loc1_.broadcastMessage("internal_onZoom",_loc1_.m_currentScale);
  753.       if(_loc3_ != _loc2_)
  754.       {
  755.          _loc1_.broadcastMessage("onZoomChanged",_loc2_);
  756.          _loc1_.m_documentView.delayedBroadcast("onVisibleAreaChanged",true);
  757.       }
  758.    }
  759.    function zoomToNumber(percent_i)
  760.    {
  761.       this.m_viewMode = "zoom";
  762.       this.zoomTo(percent_i);
  763.    }
  764.    function zoomIn()
  765.    {
  766.       this.zoomToNumber(Math.min(FlashPaper.MainView.ZOOM_MAX,this.m_currentScale + FlashPaper.MainView.KEY_ZOOM_DISTANCE));
  767.    }
  768.    function zoomOut()
  769.    {
  770.       this.zoomToNumber(Math.max(FlashPaper.MainView.ZOOM_MIN,this.m_currentScale - FlashPaper.MainView.KEY_ZOOM_DISTANCE));
  771.    }
  772.    function zoomToPageFit()
  773.    {
  774.       var _loc1_ = this;
  775.       var _loc2_ = _loc1_.getCurrentPage();
  776.       _loc1_.m_viewMode = "page";
  777.       _loc1_.zoomTo(_loc1_.m_pageFitScale);
  778.       _loc1_.setCurrentPage(_loc2_);
  779.    }
  780.    function zoomToWidthFit()
  781.    {
  782.       var _loc1_ = this;
  783.       _loc1_.m_viewMode = "width";
  784.       _loc1_.zoomTo(_loc1_.m_pageWidthScale);
  785.    }
  786.    function getViewMode()
  787.    {
  788.       return this.m_viewMode;
  789.    }
  790.    function getCurrentScaleFraction()
  791.    {
  792.       return this.m_currentScale / 100;
  793.    }
  794.    function getBoundsInMainViewCoords(mc)
  795.    {
  796.       return mc.getBounds(this.m_mainMC);
  797.    }
  798.    function getMouseX()
  799.    {
  800.       return this.m_mainMC._xmouse;
  801.    }
  802.    function getMouseY()
  803.    {
  804.       return this.m_mainMC._ymouse;
  805.    }
  806.    function getPageFitScale()
  807.    {
  808.       return this.m_pageFitScale;
  809.    }
  810.    function getPageWidthScale()
  811.    {
  812.       return this.m_pageWidthScale;
  813.    }
  814.    function getIsHandheld()
  815.    {
  816.       return this.m_isHandheld;
  817.    }
  818.    function getDocViewWidth()
  819.    {
  820.       var _loc1_ = this;
  821.       return _loc1_.getWidth() - _loc1_.getSidebarWidth() - _loc1_.getDividerWidth();
  822.    }
  823.    function getDocViewHeight()
  824.    {
  825.       return this.getHeight() - this.m_documentView._y;
  826.    }
  827.    function getDividerWidth()
  828.    {
  829.       var _loc1_ = this.m_mainMC.divider_mc;
  830.       if(!_loc1_._visible)
  831.       {
  832.          return 0;
  833.       }
  834.       return _loc1_._width;
  835.    }
  836.    function onKeyDown()
  837.    {
  838.       var _loc1_ = this;
  839.       _loc1_.showMessage("",null);
  840.       var _loc3_ = _loc1_.m_zoomingEnabled;
  841.       var focusStr = Selection.getFocus();
  842.       if(focusStr != null)
  843.       {
  844.          var s = targetPath(_loc1_.m_mainMC);
  845.          if(focusStr.substr(0,s.length) == s)
  846.          {
  847.             _loc3_ = false;
  848.          }
  849.       }
  850.       var _loc2_ = Key.getCode();
  851.       if(_loc2_ == 13)
  852.       {
  853.          if(!_loc1_.handleEnterKey())
  854.          {
  855.             _loc1_.m_documentView.keyDown(_loc2_);
  856.          }
  857.       }
  858.       else
  859.       {
  860.          var char_s = String.fromCharCode(Key.getAscii()).toLowerCase();
  861.          var prevNext_mc = _loc1_.m_mainMC.toolbar_mc.controls_mc.prevNext_mc;
  862.          var ctrl = Key.isDown(17);
  863.          if(ctrl && Key.isDown(34))
  864.          {
  865.             _loc1_[prevNext_mc.nextPg_mc.m_clickHandler]();
  866.             Accessibility.updateProperties();
  867.          }
  868.          else if(ctrl && Key.isDown(33))
  869.          {
  870.             _loc1_[prevNext_mc.prevPg_mc.m_clickHandler]();
  871.             Accessibility.updateProperties();
  872.          }
  873.          else if(_loc2_ == 17)
  874.          {
  875.             if(!_loc1_.m_ctrlKeyMonitorIntervalID)
  876.             {
  877.                _loc1_.m_copied = false;
  878.                _loc1_.m_ctrlKeyMonitorIntervalID = setInterval(_loc1_,"ctrlKeyMonitor",100);
  879.             }
  880.          }
  881.          else if(_loc2_ == 189 || _loc2_ == 109)
  882.          {
  883.             if(_loc3_)
  884.             {
  885.                _loc1_.zoomOut();
  886.             }
  887.          }
  888.          else if(_loc2_ == 107 || Key.isDown(16) && Key.isDown(187))
  889.          {
  890.             if(_loc3_)
  891.             {
  892.                _loc1_.zoomIn();
  893.             }
  894.          }
  895.          else if(char_s == "p")
  896.          {
  897.             if(_loc3_)
  898.             {
  899.                _loc1_.zoomToPageFit();
  900.             }
  901.          }
  902.          else if(char_s == "w")
  903.          {
  904.             if(_loc3_)
  905.             {
  906.                _loc1_.zoomToWidthFit();
  907.             }
  908.          }
  909.          else
  910.          {
  911.             _loc1_.m_documentView.keyDown(_loc2_);
  912.          }
  913.       }
  914.    }
  915.    function copySelection()
  916.    {
  917.       var _loc1_ = this;
  918.       if(_loc1_.getCurrentTool() == "select")
  919.       {
  920.          if(!_loc1_.m_mainMC.toolbar_mc.controls_mc.selectTool_mc.fp_hidden)
  921.          {
  922.             System.setClipboard(_loc1_.m_documentView.getSelectedText());
  923.          }
  924.       }
  925.    }
  926.    function onKeyUp()
  927.    {
  928.       var _loc1_ = this;
  929.       if(Selection.getFocus() == null)
  930.       {
  931.          var _loc2_ = Key.getCode();
  932.          if(_loc2_ == 67 && Key.isDown(17) || _loc2_ == 17 && Key.isDown(67))
  933.          {
  934.             if(!_loc1_.m_copied)
  935.             {
  936.                _loc1_.copySelection();
  937.                _loc1_.m_copied = true;
  938.             }
  939.          }
  940.          if(_loc2_ == 17)
  941.          {
  942.             clearInterval(_loc1_.m_ctrlKeyMonitorIntervalID);
  943.             _loc1_.m_ctrlKeyMonitorIntervalID = 0;
  944.             _loc1_.m_copied = false;
  945.          }
  946.       }
  947.    }
  948.    function ctrlKeyMonitor()
  949.    {
  950.       var _loc1_ = this;
  951.       if(Key.isDown(67))
  952.       {
  953.          if(!_loc1_.m_copied)
  954.          {
  955.             _loc1_.copySelection();
  956.             _loc1_.m_copied = true;
  957.          }
  958.       }
  959.       else if(_loc1_.m_copied)
  960.       {
  961.          _loc1_.m_copied = false;
  962.       }
  963.    }
  964.    function handleEnterKey()
  965.    {
  966.       var _loc2_ = this;
  967.       var controls_mc = _loc2_.m_mainMC.toolbar_mc.controls_mc;
  968.       var currPg_txt = controls_mc.currPg_mc.currPg_txt;
  969.       var _loc3_ = controls_mc.currZoom_mc.currZoom_txt;
  970.       var find_txt = controls_mc.find_mc.find_txt;
  971.       var _loc1_ = undefined;
  972.       var focusStr = Selection.getFocus();
  973.       if(focusStr == targetPath(currPg_txt))
  974.       {
  975.          _loc1_ = parseInt(currPg_txt.text);
  976.          if(isNaN(_loc1_))
  977.          {
  978.             currPg_txt.text = _loc2_.getCurrentPage();
  979.          }
  980.          else
  981.          {
  982.             _loc2_.setCurrentPage(_loc1_);
  983.          }
  984.          Selection.setFocus(null);
  985.          return true;
  986.       }
  987.       if(focusStr == targetPath(_loc3_))
  988.       {
  989.          _loc1_ = parseInt(_loc3_.text);
  990.          if(isNaN(_loc1_))
  991.          {
  992.             _loc3_.text = Math.round(_loc2_.m_currentScale) + "%";
  993.          }
  994.          else
  995.          {
  996.             _loc2_.zoomToNumber(_loc1_);
  997.          }
  998.          Selection.setFocus(null);
  999.          return true;
  1000.       }
  1001.       if(focusStr == targetPath(find_txt))
  1002.       {
  1003.          _loc2_.findTextButton();
  1004.          return true;
  1005.       }
  1006.       return false;
  1007.    }
  1008.    function onResize2()
  1009.    {
  1010.       this.onResize();
  1011.       this.onResize();
  1012.    }
  1013.    function onResize()
  1014.    {
  1015.       var _loc1_ = this;
  1016.       var _loc2_ = _loc1_.m_toolbarView.getHeight() - 3;
  1017.       var _loc3_ = _loc1_.m_mainMC.tree_mc;
  1018.       _loc3_._x = 0;
  1019.       _loc3_._y = _loc2_;
  1020.       _loc1_.m_dividerView._x = _loc1_.getSidebarWidth();
  1021.       _loc1_.m_dividerView._y = _loc2_;
  1022.       _loc1_.m_documentView._x = _loc1_.getSidebarWidth() + _loc1_.getDividerWidth();
  1023.       _loc1_.m_documentView._y = _loc2_;
  1024.       _loc1_.broadcastMessage("onResize");
  1025.       _loc1_.m_pageWidthScale = _loc1_.m_documentView.calcPageWidthScale();
  1026.       _loc1_.m_pageFitScale = _loc1_.m_documentView.calcPageFitScale();
  1027.       if(_loc1_.m_viewMode == "width")
  1028.       {
  1029.          _loc1_.zoomToWidthFit();
  1030.       }
  1031.       else if(_loc1_.m_viewMode == "page")
  1032.       {
  1033.          _loc1_.zoomToPageFit();
  1034.       }
  1035.       else
  1036.       {
  1037.          _loc1_.zoomToNumber(_loc1_.m_currentScale);
  1038.       }
  1039.       _loc1_.m_documentView.rebuildMask();
  1040.       _loc1_.showMessage("",null);
  1041.    }
  1042.    function onPageMayHaveChanged()
  1043.    {
  1044.       var _loc1_ = this;
  1045.       if(_loc1_.m_lastPageChanged != _loc1_.m_currentPage)
  1046.       {
  1047.          _loc1_.m_lastPageChanged = _loc1_.m_currentPage;
  1048.          _loc1_.broadcastMessage("onPageChanged",_loc1_.m_lastPageChanged);
  1049.          _loc1_.m_documentView.delayedBroadcast("onVisibleAreaChanged",true);
  1050.       }
  1051.    }
  1052.    function getScrolledPage()
  1053.    {
  1054.       return this.m_documentView.getScrolledPage(true);
  1055.    }
  1056.    function getWidth()
  1057.    {
  1058.       return Stage.width;
  1059.    }
  1060.    function getHeight()
  1061.    {
  1062.       return Stage.height;
  1063.    }
  1064.    function getBookmarksArray()
  1065.    {
  1066.       return this.m_mainMC.fpBookmarks_array;
  1067.    }
  1068.    function getDocDpiToScreenDpiFactor()
  1069.    {
  1070.       return this.m_docDpiToScreenDpiFactor;
  1071.    }
  1072.    function getDocumentWidth()
  1073.    {
  1074.       return this.m_mainMC.documentWidth;
  1075.    }
  1076.    function getDocumentHeight()
  1077.    {
  1078.       return this.m_mainMC.documentHeight;
  1079.    }
  1080.    function setForcedWidthAndHeight(w, h)
  1081.    {
  1082.       var _loc1_ = this;
  1083.       _loc1_.m_forceWidth = w;
  1084.       _loc1_.m_forceHeight = h;
  1085.       _loc1_.getWidth = function()
  1086.       {
  1087.          return this.m_forceWidth;
  1088.       };
  1089.       _loc1_.getHeight = function()
  1090.       {
  1091.          return this.m_forceHeight;
  1092.       };
  1093.       _loc1_.m_documentView.rebuildMask();
  1094.    }
  1095.    function popUpWindowButton()
  1096.    {
  1097.       var _loc1_ = _url;
  1098.       _loc1_ = FlashPaper.Utils.replaceInString(_loc1_,"\\","\\\\");
  1099.       _loc1_ = escape(_loc1_);
  1100.       getURL("javascript:window.open(\"" + _loc1_ + "\", \"fpdoc\").focus();","");
  1101.    }
  1102.    function brandButton(_mc)
  1103.    {
  1104.       var _loc1_ = this.getLanguageObject();
  1105.       getURL(_loc1_.GOURL,"_blank");
  1106.    }
  1107.    function findTextButton()
  1108.    {
  1109.       this.findNext();
  1110.    }
  1111.    function fitWidthButton()
  1112.    {
  1113.       this.zoomToWidthFit();
  1114.    }
  1115.    function fitPageButton()
  1116.    {
  1117.       this.zoomToPageFit();
  1118.    }
  1119.    function printButton()
  1120.    {
  1121.       this.printTheDocument();
  1122.    }
  1123.    function panButton(mc)
  1124.    {
  1125.       this.setCurrentTool("pan");
  1126.    }
  1127.    function selectButton(mc)
  1128.    {
  1129.       var _loc1_ = this;
  1130.       if(!_loc1_.m_scrollingEnabled && _loc1_.getCurrentTool() == "select")
  1131.       {
  1132.          _loc1_.setCurrentTool("");
  1133.       }
  1134.       else
  1135.       {
  1136.          _loc1_.setCurrentTool("select");
  1137.       }
  1138.    }
  1139.    function prevPageButton()
  1140.    {
  1141.       var _loc1_ = this;
  1142.       if(_loc1_.getCurrentPage() > 1)
  1143.       {
  1144.          _loc1_.setCurrentPage(_loc1_.m_documentView.getScrolledPage(false) - 1);
  1145.       }
  1146.    }
  1147.    function nextPageButton()
  1148.    {
  1149.       var _loc1_ = this;
  1150.       if(_loc1_.getCurrentPage() < _loc1_.getNumPages())
  1151.       {
  1152.          _loc1_.setCurrentPage(_loc1_.m_documentView.getScrolledPage(true) + 1);
  1153.       }
  1154.    }
  1155.    function dropdownButton()
  1156.    {
  1157.       Selection.setFocus(null);
  1158.       this.m_mainMC.hiddenToolsList_mc.onButtonRelease();
  1159.    }
  1160.    function broadcastMessage(msg)
  1161.    {
  1162.    }
  1163.    function addListener(listener)
  1164.    {
  1165.    }
  1166.    function removeListener(listener)
  1167.    {
  1168.    }
  1169.    function getViewerType()
  1170.    {
  1171.       return "Macromedia FlashPaper Default Viewer";
  1172.    }
  1173.    function getViewerVersion()
  1174.    {
  1175.       return 218;
  1176.    }
  1177.    function getCurrentPage()
  1178.    {
  1179.       return this.m_currentPage;
  1180.    }
  1181.    function setCurrentPage(pageNum_i)
  1182.    {
  1183.       var _loc1_ = this;
  1184.       var _loc2_ = FlashPaper.Utils.clamp(1,pageNum_i,_loc1_.m_numPages);
  1185.       _loc1_.activateHyperlinks(_loc2_);
  1186.       _loc1_.m_currentPage = _loc2_;
  1187.       _loc1_.m_documentView.setPage(_loc1_.m_currentPage);
  1188.       _loc1_.accSilentPageBehindToolbar(_loc1_.m_currentPage);
  1189.    }
  1190.    function getNumberOfPages()
  1191.    {
  1192.       return this.m_mainMC.totalPages;
  1193.    }
  1194.    function getLoadedPages()
  1195.    {
  1196.       return this.m_numPagesLoaded;
  1197.    }
  1198.    function showUIElement(part, show)
  1199.    {
  1200.       var _loc3_ = this;
  1201.       var _loc1_ = _loc3_.m_mainMC.toolbar_mc.controls_mc;
  1202.       var _loc2_ = !show;
  1203.       switch(part)
  1204.       {
  1205.          case "PrevNext":
  1206.             _loc1_.prevNext_mc.fp_hidden = _loc2_;
  1207.             _loc1_.currPg_mc.currPg_txt.selectable = show;
  1208.             break;
  1209.          case "Print":
  1210.             _loc1_.dividePrint_mc.fp_hidden = _loc2_;
  1211.             _loc1_.print_mc.fp_hidden = _loc2_;
  1212.             break;
  1213.          case "Tool":
  1214.             _loc1_.panTool_mc.fp_hidden = _loc2_;
  1215.             _loc1_.selectTool_mc.fp_hidden = _loc2_;
  1216.             break;
  1217.          case "Zoom":
  1218.             _loc1_.currZoom_mc.fp_hidden = _loc2_;
  1219.             _loc1_.fitPage_mc.fp_hidden = _loc2_;
  1220.             _loc1_.fitWidth_mc.fp_hidden = _loc2_;
  1221.             _loc1_.zoom_sld.fp_hidden = _loc2_;
  1222.             _loc1_.divideZoom_mc.fp_hidden = _loc2_;
  1223.             break;
  1224.          case "Find":
  1225.             _loc1_.find_mc.fp_hidden = _loc2_;
  1226.             _loc1_.divideTools_mc.fp_hidden = _loc2_;
  1227.             break;
  1228.          case "Pop":
  1229.             _loc1_.popup_mc.fp_hidden = _loc2_;
  1230.             break;
  1231.          case "Page":
  1232.             _loc1_.currPg_mc.fp_hidden = _loc2_;
  1233.             _loc1_.numPgs_txt.fp_hidden = _loc2_;
  1234.             _loc1_.dividePager_mc.fp_hidden = _loc2_;
  1235.             break;
  1236.          case "Sidebar":
  1237.             if(_loc3_.m_mainMC.fpBookmarks_array)
  1238.             {
  1239.                _loc3_.m_mainMC.divider_mc._visible = show;
  1240.                _loc3_.m_mainMC.tree_mc._visible = show;
  1241.             }
  1242.             break;
  1243.          case "Overflow":
  1244.             _loc1_.hiddenToolsBtn_mc.fp_hidden = _loc2_;
  1245.             break;
  1246.          case "ZoomKeys":
  1247.             _loc3_.m_zoomingEnabled = show;
  1248.       }
  1249.       _loc3_.onResize2();
  1250.    }
  1251.    function printTheDocument()
  1252.    {
  1253.       var _loc1_ = this;
  1254.       if(_loc1_.m_mainMC.printClip_mc == undefined)
  1255.       {
  1256.          _loc1_.m_mainMC.attachMovie("pageList","printClip_mc",9999);
  1257.          _loc1_.m_mainMC.printClip_mc._visible = false;
  1258.       }
  1259.       if(_loc1_.m_mainMC.printClip_mc == undefined)
  1260.       {
  1261.          return false;
  1262.       }
  1263.       var _loc2_ = _loc1_.m_mainMC.printClip_mc.bmovieIsOK !== undefined && _loc1_.m_mainMC.printClip_mc.bmovieIsOK == true;
  1264.       var _loc3_ = _loc1_.m_mainMC.printasbitmap !== undefined && _loc1_.m_mainMC.printasbitmap == true;
  1265.       if(_loc3_)
  1266.       {
  1267.          if(_loc2_)
  1268.          {
  1269.             getURL("printasbitmap:",_loc1_.m_mainMC.printClip_mc);
  1270.          }
  1271.          else
  1272.          {
  1273.             printAsBitmap(_loc1_.m_mainMC.printClip_mc,"bframe");
  1274.          }
  1275.       }
  1276.       else if(_loc2_)
  1277.       {
  1278.          getURL("print:",_loc1_.m_mainMC.printClip_mc);
  1279.       }
  1280.       else
  1281.       {
  1282.          print(_loc1_.m_mainMC.printClip_mc,"bframe");
  1283.       }
  1284.       return true;
  1285.    }
  1286.    function setCurrentZoom(percent)
  1287.    {
  1288.       var _loc1_ = percent;
  1289.       var _loc2_ = this;
  1290.       if(_loc1_ == "width")
  1291.       {
  1292.          _loc2_.zoomToWidthFit();
  1293.       }
  1294.       else if(_loc1_ == "page")
  1295.       {
  1296.          _loc2_.zoomToPageFit();
  1297.       }
  1298.       else
  1299.       {
  1300.          _loc2_.zoomToNumber(Number(_loc1_));
  1301.       }
  1302.    }
  1303.    function getCurrentZoom()
  1304.    {
  1305.       return this.m_currentScale;
  1306.    }
  1307.    function setSize(w, h)
  1308.    {
  1309.       var _loc1_ = this;
  1310.       _loc1_.m_mainMC._xscale = _loc1_.m_mainMC._yscale = 100;
  1311.       _loc1_.setForcedWidthAndHeight(w,h);
  1312.       _loc1_.onResize2();
  1313.       _loc1_.m_mainMC._visible = true;
  1314.       return true;
  1315.    }
  1316.    function goToLinkTarget(linktarget, window)
  1317.    {
  1318.       var _loc1_ = linktarget;
  1319.       if(_loc1_.substr(0,7) == "anchor:")
  1320.       {
  1321.          this.goToNamedAnchor(_loc1_.substr(7));
  1322.       }
  1323.       else
  1324.       {
  1325.          getURL(_loc1_,window);
  1326.       }
  1327.    }
  1328.    function enableScrolling(flag)
  1329.    {
  1330.       var _loc1_ = this;
  1331.       var _loc2_ = flag;
  1332.       var _loc3_ = _loc1_.m_scrollingEnabled;
  1333.       if(_loc1_.m_scrollingEnabled != _loc2_)
  1334.       {
  1335.          _loc1_.m_scrollingEnabled = _loc2_;
  1336.          _loc1_.broadcastMessage("onEnableScrolling",_loc2_);
  1337.       }
  1338.       return _loc3_;
  1339.    }
  1340.    function getCurrentTool()
  1341.    {
  1342.       return this.m_documentView.getToolMode();
  1343.    }
  1344.    function setCurrentTool(tool)
  1345.    {
  1346.       return this.m_documentView.setToolMode(tool);
  1347.    }
  1348.    function getTextSelectionRange()
  1349.    {
  1350.       return this.m_documentView.getTextSelectionRange();
  1351.    }
  1352.    function setTextSelectionRange(sel, skipBroadcast)
  1353.    {
  1354.       this.m_documentView.setTextSelectionRange(sel,skipBroadcast);
  1355.    }
  1356.    function getSelectedText()
  1357.    {
  1358.       return this.m_documentView.getSelectedText();
  1359.    }
  1360.    function getSidebarWidth()
  1361.    {
  1362.       var _loc1_ = this;
  1363.       if(!_loc1_.m_mainMC.tree_mc._visible)
  1364.       {
  1365.          return 0;
  1366.       }
  1367.       return FlashPaper.Utils.clamp(0,_loc1_.m_treeWidth,_loc1_.getWidth() - _loc1_.m_documentView.getMinWidth());
  1368.    }
  1369.    function setSidebarWidth(w)
  1370.    {
  1371.       var _loc1_ = this;
  1372.       _loc1_.m_treeWidth = FlashPaper.Utils.clamp(0,w,_loc1_.getWidth() - _loc1_.m_documentView.getMinWidth());
  1373.       _loc1_.onResize();
  1374.    }
  1375.    function getFindText()
  1376.    {
  1377.       return this.m_mainMC.toolbar_mc.controls_mc.find_mc.find_txt.text;
  1378.    }
  1379.    function setFindText(s)
  1380.    {
  1381.       this.m_mainMC.toolbar_mc.controls_mc.find_mc.find_txt.text = s;
  1382.    }
  1383.    function findNext()
  1384.    {
  1385.       var found = true;
  1386.       var _loc2_ = this.getFindText();
  1387.       if(_loc2_.length > 0)
  1388.       {
  1389.          found = this.m_documentView.findText(_loc2_,false);
  1390.          if(!found)
  1391.          {
  1392.             var dot = "";
  1393.             while(true)
  1394.             {
  1395.                var _loc1_ = this.getLanguageObject().NOT_FOUND;
  1396.                var _loc3_ = _loc1_.indexOf("%");
  1397.                if(_loc3_ != -1)
  1398.                {
  1399.                   _loc1_ = _loc1_.substring(0,_loc3_) + _loc2_ + dot + _loc1_.substring(_loc3_ + 1,_loc1_.length);
  1400.                }
  1401.                if(!this.showMessage(_loc1_,this.m_mainMC.toolbar_mc.controls_mc.find_mc))
  1402.                {
  1403.                   break;
  1404.                }
  1405.                if(_loc2_.length == 0)
  1406.                {
  1407.                   break;
  1408.                }
  1409.                _loc2_ = _loc2_.substring(0,_loc2_.length - 1);
  1410.                dot = "...";
  1411.             }
  1412.          }
  1413.       }
  1414.       if(found)
  1415.       {
  1416.          this.showMessage("",null);
  1417.       }
  1418.       return found;
  1419.    }
  1420.    function getVisibleArea()
  1421.    {
  1422.       return this.m_documentView.getVisibleArea();
  1423.    }
  1424.    function setVisibleArea(area, skipBroadcast)
  1425.    {
  1426.       this.m_documentView.setVisibleArea(area,skipBroadcast);
  1427.    }
  1428. }
  1429.